package protect.week01;

import java.util.Scanner;

/**
 * @author thinkpad - 83start
 * @version v1.0
 * @create 2022/8/30 15:45
 * @package Week_01
 * @description 判断回文数：
 * 给你一个整数 x ，如果 x 是一个回文整数，返回 true ；否则，返回 false 。
 *
 * 回文数是指正序（从左向右）和倒序（从右向左）读都是一样的整数。
 *
 * 例如，121 是回文，而 123 不是。
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode.cn/problems/palindrome-number
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */

public class Ch01_IsPalindrome {

    public static boolean isPalindrome(int x) {
        String strX = String.valueOf(x);
        // 直接将字符串 倒叙，和原来的字符串做比较
        String reverseX = new StringBuffer(strX).reverse().toString();

        /*
        比较字符串是否相同：
            1. ==  比较两个字符串的地址是否相同
            2. .equals 方法，比较两个字符串的内容是否相同
         */
        return strX.equals(reverseX);
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个正整数：如 1423");
        int x = scanner.nextInt();
        boolean palindrome = isPalindrome(x);

        // 输出结果
        System.out.println("x = " + x + ",是否为回数" + palindrome );
    }
}
